{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "USD Deposit and Swap Yield Curve\n",
      "=============================\n",
      "\n",
      "This notebook shows how to process the file of deposits and swap rates that was downloaded in notebook 'Download_USD_LIBOR'. In this notebook, we extract and plot a couple of yield curves.\n"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Read the data frame and extract a curve\n",
      "-----------------------------------"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import pandas as pd\n",
      "import pylab as pl\n",
      "import os\n",
      "from datetime import datetime\n",
      "\n",
      "libor_rates = pd.read_pickle((os.path.join('..', 'data', 'df_libor.pkl')))\n",
      "dt_obs = [datetime(2011, 12, 9), datetime(2011, 12, 20)]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def get_swap_curve(libor_rates, dt):\n",
      "    df_libor = pd.DataFrame(libor_rates.xs(dt), columns=['Rate'])   \n",
      "    maturities_dic = {'Swap1Y': 1,\n",
      "                      'Swap2Y': 2,\n",
      "                      'Swap3Y': 3,\n",
      "                      'Swap4Y': 4,\n",
      "                      'Swap5Y': 5,\n",
      "                      'Swap7Y': 7,\n",
      "                      'Swap10Y': 10,\n",
      "                      'Swap30Y': 30,\n",
      "                      'Libor1M': 1.0 / 12,\n",
      "                      'Libor3M': 3.0 / 12,\n",
      "                      'Libor6M': 6.0 / 12}\n",
      "    df_libor['Maturity'] = [maturities_dic[k] for k in df_libor.index]\n",
      "    df_libor = df_libor.sort_index(by='Maturity')\n",
      "    return(df_libor)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      " libor_c = [get_swap_curve(libor_rates, dt) for dt in dt_obs]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "    p1, = pl.plot(libor_c[0]['Maturity'], libor_c[0]['Rate'])\n",
      "    p2, = pl.plot(libor_c[1]['Maturity'], libor_c[1]['Rate'])\n",
      "    pl.xlabel('Maturity (Yr)')\n",
      "    pl.ylabel('Deposit/Libor Rate')\n",
      "    pl.title('Libor Deposit and Swap Rates\\n from Table H15 at www.federalreserve.gov')\n",
      "    legend([p1, p2], [dt.strftime('%d-%b-%Y') for dt in dt_obs], loc='lower right')\n",
      "    pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEnCAYAAACpNTSTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdUFGf3B/DvgiBtkSJFKaKAUlRQDNjZxN5RYkvEmlhi\n/WnyWmJNYknemESjSTQxGE2iiZqoUVETlWLFgg1EbHTBQpe2u9zfH4R5XWBpsuwC93POnuPstDsz\n8tydeWbuiIiIwBhjrNHTUncAjDHGNAMnBMYYYwA4ITDGGPsXJwTGGGMAOCEwxhj7FycExhhjADgh\nNEphYWFwcXERhh0cHHDq1Ck1RlT3Su+DutYY9znTfJwQGjBljU6vXr0QHR0tDItEIohEIpXEEBsb\nCy0tLYjFYojFYlhbW2PYsGH4559/VLK+qiq9DxwcHHD69Ok6W39F+zwxMRH+/v6wsLCAiYkJOnTo\ngJ9++qnOYistODhYOIbGxsZo27Yttm/fXuX5JRIJduzYocIIWW3hhNCAqbKhL49MJlM6LjMzE9nZ\n2bh58yb69euHkSNHqrWRK00kEkFTntEMCAhAq1atEB8fj7S0NOzevRtWVlZqjcnGxgbZ2dnIysrC\npk2b8N577yEyMrJK89bl/0H2ajghNELBwcGws7NT+C48PBzu7u4wMzPD1KlTUVBQIIz7/vvv4ezs\nDHNzc4wYMQKPHz8WxmlpaeGbb76Bs7Mz2rVrV+m6LS0tMW/ePKxevRqLFy8Wvk9OToa/vz8sLS3R\npk0bfP3118K41atX480338S4ceNgbGwMLy8v3Lx5Uxh/584dSCQSmJqaon379vjrr7+EcceOHYO7\nuzuMjY1ha2uLjRs3ltkHAQEBiI+Px7BhwyAWi/H555+XiTsjIwNDhw6FpaUlzMzMMGzYMCQlJQnj\nJRIJVq5ciZ49e8LY2BgDBgzA8+fPhfG7d+9Gq1at0Lx5c6xbt67CfXTlyhVMnjwZ+vr60NLSgqen\nJwYOHAgAmDRpEr744gsAQFJSkrD/AeDBgwcwNzcHAKSnp1ca79KlS+Hj44NmzZrBz88P6enpFcZV\nYtCgQTA3N8edO3cqXdeHH36IsLAwzJkzB2KxGPPmzQMAREdHo1+/fjA3N4eLiwv27dsnLF/ZMWN1\ngFiD5eDgQKdOnSrz/ZkzZ8jW1lYYbtWqFXXo0IESExMpLS2NevToQcuXLyciolOnTlHz5s0pIiKC\nCgoKaO7cudS7d29hXpFIRP3796f09HTKz88vs65Hjx6RSCQiuVyu8P2DBw9IJBJRdHQ0yeVy6ty5\nM3388ccklUrp4cOH1KZNGzpx4gQREa1atYp0dHTowIEDJJPJ6PPPP6fWrVuTTCajwsJCcnR0pPXr\n15NUKqXTp0+TWCymmJgYIiKytrams2fPEhFRRkYGXbt2rdx9oGxflXj+/Dn98ccflJeXR9nZ2TR6\n9Gjy8/MTxvv6+pKTkxPdu3eP8vLySCKR0JIlS4iIKDIykoyMjCgsLIwKCgpo4cKF1KRJE6Xr69u3\nL/Xo0YP27t1LcXFxCuN+/PFHGjZsGBER/fLLL+To6Ehjx44lIqIdO3YIMVUlXhsbG4qMjKQXL16Q\nv78/TZgwodx4Xt5XcrmcDh06RE2bNqX79+9XaV0SiYR27NghDOfk5JCtrS3t3LmT5HI5RUREUPPm\nzenOnTtEpPyYMdXjhNCAVTUhODg40LZt24ThY8eOkaOjIxERTZ06lRYvXiyMy8nJIR0dHaGhEolE\ndObMGaUxKEsIeXl5JBKJ6Pz583Tx4kWyt7dXGL9u3TqaMmUKERUnhG7dugnjioqKqEWLFhQWFkah\noaFkbW2tMO/48eNp9erVRERkb29P27Zto8zMzEr3QUUJobSIiAgyNTUVhiUSCa1du1YY/uabb2jg\nwIFERLRmzRoaP368MO7Fixekq6urdH3p6em0ZMkScnd3J21tbfL09KTLly8TEdH9+/fJ1NSUioqK\naObMmbRt2zZhOyZOnEhffvllleNdunSpMBwVFUW6urpUVFRUZt4zZ86QlpYWmZiYUNOmTUlLS4t+\n//33au2bH374QRjeu3cv9erVS2Ge6dOn05o1a4hI+TFjqseXjBgAKFxCsre3R3JyMgDg8ePHaNWq\nlTDO0NAQ5ubmCpcfSl9+qoqS+c3MzBAXF4fk5GSYmpoKn/Xr1+PJkyfC9La2tsK/RSIRbG1tkZyc\njMePH5dZf6tWrYTlHzhwAMeOHYODgwMkEgkuXrxY7VgBIDc3FzNmzICDgwOaNWsGX19fZGZmKvQ7\nWFtbC//W19dHTk4OgOLLYS/Hb2BgIFzaKY+JiQnWr1+P27dvIzU1FZ6envDz8wMAODo6wtDQENev\nX0dYWBiGDh2Kli1bIiYmBqGhofD19a1yvKWPuVQqxbNnz8qNqWXLlkhPT0dWVhbmz5+PdevWoaio\nqMrrerkfIS4uDpcuXVI43r/++itSU1MB1N4xY9XHCYEBAOLj4xX+bWNjA6C4IYiNjRXGvXjxAs+f\nPxfGAzXrNPzzzz9hZWWFdu3awc7ODq1bt0Z6errwycrKwpEjR4TpExIShH8XFRUhMTERNjY2aNmy\nJRISEhQan7i4OKEB7tKlCw4ePIinT5/Cz88PY8aMKTeeyrZh48aNiImJQXh4ODIzMxESEgIqPsOu\ndFtLYiyRm5ur0L9QEXNzcyxatAjJycnCNX5fX1/s27cPUqkULVu2hK+vL3bu3In09HR4enpWOd7S\nx1xHRwfNmzevMB5dXV18+umnyMzMxO7du6u0rtL71t7eHr6+vgrHOzs7G1u3bgVQ9WPGah8nhAau\nsLAQ+fn5wkcul5eZhoiwdetWJCUlIS0tDWvXrsXYsWMBAOPHj0dgYCBu3LiBgoICLFu2DF27doW9\nvX214ihpHFJTU7FlyxZ89NFHWL9+PQDAx8cHYrEYn332GfLy8iCXy3H79m1cuXJFmP/q1av4888/\nIZPJ8NVXX0FPTw9du3aFt7c3DAwM8Nlnn0EqlSI4OBhHjhzBuHHjIJVK8csvvyAzMxPa2toQi8XQ\n1tYuNz4rKys8ePBAafw5OTnQ19dHs2bNkJaWhjVr1ijdxtL8/f1x5MgRnDt3DoWFhVi5cqXw67o8\nixcvRmRkJGQyGbKzs/Htt9/C2dkZpqamAIoTwpYtW9C7d28AxR3EW7ZsQa9evYTGt7J4iQg///wz\n7ty5g9zcXKxcuRKjR4+uUnLX0dHBokWL8Nlnn1VpXaX37dChQxETE4Off/4ZUqkUUqkUly9fRnR0\ndLWOGVMBdVynYnXDwcGBRCKRwmfFihUUHBxMdnZ2CtNt2LCB3NzcyMTEhCZPnkx5eXnC+O+++44c\nHR3JzMyMhg0bRklJScI4LS0tevDggdIYSvoQjIyMyNDQkCwtLWnIkCFCh3GJ5ORkGj9+PFlbW5Op\nqSl169ZNuMa+evVqevPNN2ns2LEkFoupc+fOFBERIcwbGRlJvr6+1KxZM3J3d6eDBw8SEVFhYSEN\nHDiQTE1NydjYmLy9vencuXNEVHxd/OV9cOjQIbK3tycTExPauHFjme1ITk4miURCRkZG1K5dO9q2\nbRtpaWkJfSOlO0537typcJ38p59+Int7ezI3N6e1a9dS69atlfYhzJ07l5ydncnIyIgsLCxo2LBh\nFB0dLYyPjo4mkUhEu3btIqLijtcmTZrQZ599Vq14ly5dSt7e3mRsbEzDhw+n58+flxtP6X1FRJSb\nm0vNmzenQ4cOVbquCxcuUNu2bcnU1JTmz59PRER3796lIUOGkIWFBZmbm1OfPn3oxo0bFR4zpnoi\nIg25+ZoxJdasWYP79+8LlyjYq3v99dcREBCAqVOnqjsUpkH4khHTePybRTV4v7LSOCEwjVfXT1w3\nFrxPWWl8yYgxxhgAPkNgjDH2L04IteTcuXNwdnaGWCzG4cOH1R1OpcqrZ/SyyZMnY8WKFXUYUeM2\nZcoUmJmZoWvXrtWeV5XHaufOnejVq5dKls00DyeEWrJy5UrMmzcP2dnZGD58eJ2tNywsTCgtbWRk\npFBq2tjYGImJiTVa7qtct9fS0sLDhw8Vvlu9ejUCAgKE4RUrVqBDhw7Q0dEpc9/6y+WWSz41vcOo\nPjRoYWFh+Oeff5CcnFyjp3K5j4XVlibqDqChiI+Ph5ubW7njSMkTm7WhV69eyM7OBlD8hG7r1q2R\nmZkJLa1Xz/W12b1UetudnZ3x3//+F9999125+8XGxkbh6d6GLC4uDg4ODtDT06vxMmpyrGQyGZo0\nqXkT8Krza9p6GJ8h1ApHR0c8fPgQw4YNg7GxMQoLCyGRSLB8+XL06NEDhoaGePToEc6fP4/XXnsN\nJiYm8Pb2xoULF4RlSCQSrFixAj169IBYLMbw4cPx7NkzvP3222jWrBm8vb0RFxdXYRylG4XAwEC4\nubnB2NgYjo6O5b7UZP369bCwsEDr1q3x66+/Kl32kSNH4OnpCVNTU/To0QO3bt2q5l5SNHHiRAwc\nOBBisfiVE8+GDRvg5OQEY2NjuLu74+DBgwCKy2LPmjULFy5cgFgshpmZWZl5z5w5g44dOwrD/fr1\ng7e3tzDcq1cvHDp0CIGBgQpnfs7OzgolFezs7HDjxg2sWrVKKPEslUphaGiI//znPwCAvLw86Onp\nISMjQ5hvx44dePfdd4UYS86WKtrfERER6Ny5M4yNjTFu3Djk5+crbFNF8zo4OOCzzz5Dx44dIRaL\nIZfLle6/8pRX7ryi9X366aewtbWFsbExXFxchJcQEZGw3ubNm2Ps2LFCaY6Slyr9+OOPaNWqFfr0\n6YPBgwcLpS1KeHh4CLFWVE67tGvXrqFTp04wNjbGmDFjMHbsWIVLbsrKvc+aNQsffPCBwrJGjBiB\nL7/8Uum66h31PA/X8JSulunr60utWrWiqKgoksvllJKSQiYmJvTzzz+TXC6nPXv2kKmpKaWlpQnT\nOzs708OHDykzM5Pc3NzIycmJTp06RTKZjCZOnChU/1SmdGXRo0eP0sOHD4mIKCQkhAwMDBTKPzdp\n0oQWLVpEhYWFFBISQoaGhkLZ6MmTJwslsK9du0aWlpYUHh5ORUVF9NNPP5GDgwMVFBSUG4dIJBJK\nI5dYtWpVueWVJ0yYIFQmLXHmzBnS1dUlKysrat26Nf3f//0fvXjxQul279u3jx4/fkxERL/99hsZ\nGhpSSkoKERU/MdyzZ0+l8+bm5pKenh49f/6cCgsLydLSkmxtbSknJ4dyc3NJX1+f0tLS6MGDB2Ri\nYkJERElJSdSqVSvh6d0HDx4I1T1Pnz5NHTp0ICKic+fOkaOjI/n4+BBRcSlxT0/PMjGUjlHZ/i4s\nLKSCggKyt7enr776imQyGe3fv590dHRoxYoVlc5LVFzqvFOnTpSYmCiUK69o/wUGBirEVrrceUXr\ni46OJjs7O2HZcXFxwlPtX331FXXr1o2SkpKosLCQZsyYIVSELfl/PGnSJMrNzaW8vDzatWsX9ejR\nQ4gjMjKSTExMqLCwUGk57aioqDL7umT/bd68mWQyGf3xxx+kq6sr7L+Kyr2HhoYqPLGdlpZG+vr6\nwvY1BJwQaknphCCRSGjVqlXC8K5du4SGoUS3bt1o586dwvTr1q0Txi1atIgGDx4sDP/111/lNiYv\nU1ZquoSfnx9t2rSJiP6XEHJzc4XxY8aMoY8//piIihNCyR/JzJkzhX+XaNeuHYWEhJS7HpFIRMbG\nxmRiYiJ89PT0KCAgoMy05SWElJQUoTb+o0ePqHfv3jRjxowKt/1lnp6edOjQISIq26CVp1evXvTH\nH3/QhQsXqH///jR27Fg6fvw4nT59mjp27ChMZ2dnR9euXaM9e/bQ9OnTycfHh6Kjo+nHH3+kESNG\nEJFigtmwYQOtW7dOSDArV64USje8rHSMFe3vkJAQatmypcK47t27V3qsQkNDiaj4/2lgYGCF+6Oi\n/Ve63HlFsd6/f58sLS3pn3/+ERJSCVdXV4W/l+TkZNLR0SG5XC78P3706JEwPisriwwNDSk+Pp6I\niJYtW0bTpk0josrLab8sJCSEbGxsFL7r2bOnsA0VlXsvKioie3t7YV9u376d+vTpU84erL/4kpEK\nvXwXT3JycpmCcK1atRLKTANQeE2inp4eLC0tFYZLyilXVVBQELp27Qpzc3OYmpri2LFjClU2TU1N\noa+vrxDPy29DKxEXF4eNGzcqlCtOTEwsd9oSERERCtUslyxZUuVLQ1ZWVnBxcQHwv0scBw4cUDr9\nrl270KlTJyG227dvV7maKFBcLC44OBhhYWHw9fWFr68vQkJCEBoaColEUqXpSspO6+vro0uXLgrf\nd+/eHefOnVOYriIV7e/k5GSFSrMAFMqTK5v35f9npe8uq+7+e3n+imJ1dHTEV199hdWrV8PKygrj\nx48X/s/ExsZi5MiRwjxubm5o0qSJUAK79HrEYjGGDBmCPXv2AAD27t2Lt99+W4ihonLaLytv/728\nnorKvYtEIowbN06I4ddffxViaCg4IajQy52lNjY2ZfoA4uLiyvznLG/emigoKIC/vz/+85//4MmT\nJ0hPT8fgwYMVGuX09HTk5uYqxNOyZcsyy7K3t8eHH36o0MDn5OQIFVGroqJkUJVtVVYdNC4uDtOn\nT8fWrVuRlpaG9PR0tG/fvlod+b6+vjhz5oyQAEoa/pCQEIUGvGS6sLCwSqc7deoUIiIi8Nprr8HX\n1xfHjx9HeHi4UKG0IhXt7xYtWii8i6JkH1Rl3hKl301Q0f4rz8vzV7a+8ePHIywsDHFxcRCJRMJr\nU+3t7XH8+HGF+XJzc9GiRYty11OyrD179uDChQvIz8/H66+/LiyronLaLytv/71cBryycu/jx4/H\n/v37ERcXh/DwcPj7+yvdT/URJwQVevmPavDgwYiJicGePXsgk8nw22+/ITo6GkOHDi13+qr+mlam\nsLAQhYWFaN68ObS0tBAUFISTJ0+WmW7VqlWQSqUICwvD0aNHMXr0aGH9JTG8++67+O677xAeHg4i\nwosXL3D06NFqn7G8TCaTCeW4pVIp8vPzhUY/ODgYcXFxICIkJCRg8eLFwgtiSnvx4gVEIhGaN2+O\noqIiBAYG4vbt28J4KysrJCYmQiqVKo2le/fuuHv3Li5fvgxvb2+4ubkJvzpfbsBLEkJ+fj5atmyJ\nnj174vjx40hLS0OnTp0Uptu1axfc3d2ho6MDiUSCH374AW3atKnwxTglKtrf3bt3R5MmTbB582ZI\npVL88ccfuHz5cpXmrcn+e5VYY2JicPr0aRQUFKBp06bQ09MTSlnPnDkTy5YtExrjp0+fVvr8zuDB\ngxEXF4dVq1Zh3LhxwvcVldMurXv37tDW1saWLVsgk8lw6NAhhf1XWbl3T09PNG/eHO+88w4GDhwI\nY2PjKu+r+oATggq9/AvHzMwMR44cwcaNG9G8eXN8/vnnOHLkiMKdLy9PX9695VX5tVsyjVgsxubN\nmzFmzBiYmZlhz549GDFihMK0LVq0gKmpKVq2bImAgABs27YNbdu2LbN+Ly8vfP/995gzZw7MzMzg\n7OyMXbt2VWm7lW3PO++8AwMDA+zduxdr166FgYEBfv75ZwDFl5t69OgBIyMj9OjRA56enti8eXO5\n63Jzc8OiRYvQrVs3WFtb4/bt2+jZs6cwvk+fPnB3d4e1tbXCJbiXGRgYwMvLC+7u7sLtjd27d4eD\ng4PCC2NKHjwsea6h5O6tHj16KGxbt27dkJ+fLyQTV1dX6OvrC8Px8fEQi8XCMyKl901F+1tHRwd/\n/PEHdu7cCXNzc/z+++8Kv1KVzavs/05l+690bKWXU1GsBQUFWLp0KSwsLNCiRQs8e/ZMeAfG/Pnz\nMXz4cPTv3x/Gxsbo1q0bwsPDla4HKH45z6hRo3Dq1Cm89dZbwvdGRkY4efIk9u7dCxsbG7Ro0QJL\nly5FYWEhAGDdunUYPHiwwv7bsWMHTE1N8csvv2Do0KHQ1dUFUPz/5eOPP4a/vz9atmyJR48eYe/e\nvQpxvPXWWzh9+rRCDA0F1zJijDVqPj4+eO+99zBp0iR1h6J2KjtDyM/Ph4+PDzw9PeHm5oalS5eW\nO928efPg7OwMDw8PREREqCocxhgDAISGhiIlJQUymQw//fQTbt++jYEDB6o7LI2gssf/9PT0cObM\nGRgYGEAmk6Fnz544e/aswunosWPHcP/+fdy7dw+XLl3CrFmz+IXajDGVunv3LsaMGYMXL17A0dER\n+/fvV7jDrzFT6fPgBgYGAIo7OOVyeZknRQ8fPiycpvn4+CAjIwOpqal8cBhjKvPuu+/i3XffVXcY\nGkmlncpFRUXw9PSElZUVXn/99TK1fpKSkhTuAba1ta1xMTbGGGOvRqVnCFpaWrh+/ToyMzMxYMAA\nBAcHKzzoA5S9vbImd9Ywxhgrq7r3DNXJbafNmjXDkCFDcOXKFYXvS1e0TExMLPdBrZJ74hviZ9Wq\nVWqPgbeNt4+3r+F9akJlCeHZs2dCVce8vDz8/fffCg/vAMDw4cOFe5YvXrwIExMT7j9gjDE1Udkl\no8ePH2PSpEkoKipCUVERAgIC0KdPH2zbtg0AMGPGDAwePBjHjh2Dk5MTDA0NERgYqKpwGGOMVUJl\nCaFDhw64du1ame9nzJihMLxlyxZVhVAvlO5TaUga8rYBvH31XUPfvprQ+CeVRSJRja+HMcZYY1WT\ntpNrGTHGGAPACYExxti/OCEwxhgDwAmBMcbYvzghMMYYA8AJgTHG2L84ITDGGAPACYExxti/OCEw\nxhgDwAmBMcbYvzghMMYYA8AJgTHG2L84ITDGGAPACYExxti/OCEwxhgDoMIX5DDGGKsbGRnAtWvA\n1av/+9QEvyCHMcbqkfIa/5QUwMMD8PL636d9++q3nZwQGGNMQ1W18XdxAbS1FeetSdvJCYExxjTA\nqzT+5eGEwBhj9UBtN/7l4YTAGGMapi4a//JwQmCMMTVSV+NfHk4IjDFWRzSp8S9PTdpOfg6BMcYq\nUVnjP3gwsGKF+hr/IirCw/SHuJFyAzdSb+Bm6s0aLYfPEBhj7CWa/ss/pzAHt1Jv4UZqceN/I+UG\nbj25BTN9M3hYecDD2gMeVh4Y7T6aLxkxxlhVaXLjT0SIy4zDzdSbwi//G6k3kJSVBDcLN6Hh97Dy\nQEerjjDVN1WYn/sQGGNMCU1u/POkebj95LbCr/6bqTdhqGsoNPglv/7bmrdFE63Kr/ZzQmCMMWhu\n409ESM5OFhr9kgQQlxGHtuZty/zqtzC0qPG6NCohJCQkYOLEiXjy5AlEIhGmT5+OefPmKUwTHByM\nESNGoE2bNgAAf39/LF++XDFATgiMsQpoauNfICtA1NMoodEvufSjJdJSaPg9rD3g0twFutq6tbp+\njUoIKSkpSElJgaenJ3JycuDl5YWDBw/C1dVVmCY4OBhffPEFDh8+rDxATgiMsX9pauOfmpNa5lf/\n/bT7cDR1LPOr39rIGiKRSOUxadRtp9bW1rC2tgYAGBkZwdXVFcnJyQoJAQA39oyxcmnirZ5SuRR3\nn99VaPhvpNxAobxQaPj7tO6Dhd0Wws3CDXpN9OomsFpSJ88hxMbGIiIiAj4+Pgrfi0QinD9/Hh4e\nHrCxscHnn38ONze3MvOvXr1a+LdEIoFEIlFxxIyxuqSJjf/z3OdlfvXffXYXds3shF/8c73nwsPK\nA7bGtnXyq78iwcHBCA4OfqVlqLxTOScnBxKJBMuXL4efn5/CuOzsbGhra8PAwABBQUGYP38+YmJi\nFAPkS0aMNSiadtlHXiTHvbR7ZX71Zxdm/+/unn+v9be3bA8DHQPVB1ULNKoPAQCkUimGDh2KQYMG\nYcGCBZVO37p1a1y9ehVmZmb/C5ATAmP1lqY1/pn5mcWduy81/JFPI2FtZK3Q8HtYecDBxEHtv/pf\nhUYlBCLCpEmTYG5uji+//LLcaVJTU2FpaQmRSITw8HCMGTMGsbGxigFyQmCsXtCkxr90KYeSxv9Z\n7jO0t2yv0NHbwaoDjJsaqzYgNdCohHD27Fn07t0bHTt2FLLsunXrEB8fDwCYMWMGtm7dim+//RZN\nmjSBgYEBvvjiC3Tt2lUxQE4IjGkcTWr8q1rKwcPKA45mjtASaak2IA2hUQmhtnBCYEy9NKXxLynl\nUPIUb3VLOTQ2nBAYY69EUxp/VZRyaGw4ITDGqkwTGv+6LOXQ2HBCYIyVq7zG//FjwNOz7hr/0qUc\nSn7111Uph8aGEwJjTCMa/8pKOXS07Cgkgboq5dDYcEJgrJFRd+NflVIOJb/662Mph/qMEwJjDZi6\nG/+qlHIoSQKaUMqhseOEwFgDoc7Gv6qlHDpadUR7y/Yw1DWs3QBYreCEwFg9pM7GPyM/Q6jTf/PJ\nzQZdyqGx4YTAmIZTV+PPpRwaH04IjGkQdTX+VS3l0NGqIxxNHaGtVccvEGZ1ghMCY2qijsb/5VIO\nwisauZQD+xcnBMbqgDoaf2WlHAx0DMrc3smlHBjACYGxWlfXjT8RISk7Sejo5VIOrKY4ITD2Cuq6\n8edSDkyVOCEwVkV13fhzKQdW1zghMFaOumz8pXIpop9FC41+yaUfLuXA6honBNbo1WXjz6UcmCbj\nhMAalbpq/LmUA6uPOCGwBquuGv+XSzmUNP5RT6O4lAOrdzghsAahLhp/LuXAGjpOCKzeqYvGn0s5\nsMaIEwLTaKpu/EuXcihp/JOzk7mUA2t0OCEwjVJQAHz7LXDxYu03/lzKgbGKcUJgGiM3F/D3B4iA\nt96qeeNfUsqhpMEvSQCxGbFoZ96OSzkwpoRKEkJRURF++eUXPHr0CCtXrkR8fDxSUlLg7e39SsFW\nOUBOCPVOdjYwbBhgZwcEBgJNqvjjnEs5MFZ7VJIQZs6cCS0tLZw+fRrR0dFIS0tD//79ceXKlVcK\ntsoBckKoV9LTgUGDAA+P4stFWlrlT6eslEMb0zZlbu/kUg6MVV9N2s5Kf7tdunQJERER6NSpEwDA\nzMwMUqm0ZhGyBu3JE6B/f+D114EvvgBEoqqVcujTug8WdlvIpRwYU7NKE4Kuri7kcrkw/PTpU2gp\n+9nHGq2KMGP6AAAgAElEQVTkZKBPH+DNN4GPPipOBntu7cGMIzPQQtxC+NU/13sul3JgTENVmhDm\nzp2LkSNH4smTJ1i2bBn279+PTz75pNIFJyQkYOLEiXjy5AlEIhGmT5+OefPmlZlu3rx5CAoKgoGB\nAXbu3CmcibD6IzYW6NsXeOcdYMmS4o7g1cFrsPP6TpydehYdrTqqO0TGWBVU6S6jO3fu4NSpUwCA\nPn36wNXVtdIFp6SkICUlBZ6ensjJyYGXlxcOHjyoMO+xY8ewZcsWHDt2DJcuXcL8+fNx8eJFxQC5\nD0GjxcQA/foB778PzJ1bfDvo1MNT8Sj9EQ6OOwhrI2t1h8hYo6SSPoSAgADs3r1boSEv+a4i1tbW\nsLYubgyMjIzg6uqK5ORkheUcPnwYkyZNAgD4+PggIyMDqampsLKyqtZGMPW4fRsYMKD4EtG0acUd\nxX6/+cHBxAFnJp2Bvo6+ukNkjFVDpQnh9u3bCsMymQxXr16t1kpiY2MREREBHx8fhe+TkpJgZ2cn\nDNva2iIxMbFMQli9erXwb4lEAolEUq31s9p39SowZAjw5ZfA+PHArdRbGLZnGCZ7TsYq31XcP8BY\nHQsODkZwcPCrLYSUWLt2LRkZGZG2tjYZGRkJH1NTU1q8eLGy2crIzs4mLy8v+vPPP8uMGzp0KJ09\ne1YY7tOnD129elVhmgpCZGpy9iyRhQXRwYPFw0djjpLFZxb0y81f1BsYY0xQk7ZT6e1Cy5YtQ3Z2\nNt5//31kZ2cLn7S0NGzYsKFKyUYqlcLf3x8TJkyAn59fmfE2NjZISEgQhhMTE2FjY1PtpMbqzqlT\ngJ8fsHs3MHw4YfOlzZh2eBoOjjuItzq8pe7wGGOvoEqdyunp6bh37x7y8/OF73r37l3hPESESZMm\nwdzcHF9++WW507zcqXzx4kUsWLCAO5U12JEjwNSpwP79QLceUsw/Ph+hcaE48tYROJg4qDs8xthL\nVPKk8vfff4/NmzcjISEBnTp1wsWLF9GtWzecPn26wgWfPXsWvXv3RseOHYXryevWrUN8fDwAYMaM\nGQCAOXPm4Pjx4zA0NERgYCA6d+78yhvFat++fcCcOcBffwFtO2ZgzL4x0NbSxm9v/sbvCmBMA6kk\nIbRv3x6XL19Gt27dcP36dURHR2Pp0qX4888/XynYKgfICUHtfvoJWLoUCAoCjOweYOieoejv2B8b\n+2/kKqKMaaiatJ2VPnKsp6cHff3i2wfz8/Ph4uKCu3fv1ixCVu988w2wfDlw+jSQZRKGHj/2wFzv\nudg0cBMnA8YamEr/ou3s7JCeng4/Pz/069cPpqamcHBwqIPQmLp9/nlxQggJAc5m78L7f72P3SN3\nY4DTAHWHxhhTgWq9DyE4OBhZWVkYOHAgdHXrpvQwXzKqe0TFD5v9+ivw9z9F2HZvBfbc2oMjbx2B\nm4WbusNjjFWBSi4ZvUwikcDCwgIjRoyo1kpY/UEELF5cfCfR8VO5WHhhDEJiQ3DpnUucDBhr4JQm\nhLCwMHTo0AEGBgbw9vbG1atXMWLECMyePRvvvvtuXcbI6khRUfGdRGfOAHuPJmNMkC/0dfRxauIp\nfhMZY42A0oQwf/58fP3110hLS8OyZcvQo0cP9OvXD9euXcOoUaPqMkZWB2Sy4mcMbt4Evvg1AoMO\ndIVfOz/s8tuFpk2aqjs8xlgdUNqH0KlTJ0RERAjD7dq1U8vdRdyHoHqFhcCECcVvO3vn80OYc/Id\nfDP4G4x2H63u0BhjNVSr1U4zMzPxxx9/CAuUSqXCsEgk4rOEBiI/Hxg9GoCI0GfFRiw89SWOvXUM\nr9m8pu7QGGN1TOkZwuTJkxUqVpYkghKBgYGqjw58hqBKL14AI0YAps0LIR73Hq6lXMFf4/+CXTO7\nymdmjGk0lTyprG6cEFQjM7O4fLV9uzQk9/KHcVMxfvX/FUa6RuoOjTFWC1R+2ylrGJ4/L37/sYNX\nDK54dkWXll74c+yfnAwYa+S49kAjk5JS/MrL9kPP4G/zcfik+yd414tvI2aMVXKGUFRUhPPnz9dV\nLEzFEhKA3r0Bx9E/4LT5OOzx38PJgDEmqLQPwdPTE9evX6+reMrgPoTa8eAB0KefHA7vLEGS+CCO\njD+Cds3bqTssxpiKqKQPoW/fvti/fz83yvXYnTtA7745aDZ9FNDyMi5Ou8jJgDFWRqVnCEZGRsjN\nzYW2tjb09PSKZxKJkJWVVTcB8hnCK7l+Hej/ZiL0pw1DX/fO+HbIt9DVrpvChIwx9eHbTpmCS5eA\nQdOuQDTeD0sk8/F+9/cVniVhjDVctfqk8ssOHTqE0NBQiEQi+Pr6YtiwYTUKkNWdc+eAwe/vB8bP\nwk/+38PPxU/dITHGNFylZwhLlizB5cuX8fbbb4OIsHfvXnTp0gXr16+vmwD5DKHasrOBVm9+C23f\ndTgx5RA6t+hc+UyMsQZFJZeMOnTogOvXr0NbWxsAIJfL4enpiVu3btU80uoEyAmh2sYtvIxDRkMQ\n9X+X0Nq0tbrDYYypgUruMhKJRMjIyBCGMzIy+Dq0Bjt1Ngv7MQ7fDPmGkwFjrFoq7UNYunQpOnfu\nDIlEAgAICQnBhg0bVB0Xq4GCAoJ/4ExIOvTDFJ831R0OY6yeqdJdRsnJybhy5QoAwNvbG9bW1ioP\nrARfMqq6UR8H4u+cjUj9+DIMdPXVHQ5jTI1UcpcREeHChQs4e/YsRCIR5HI5Ro4cWeMgmWoEXY7G\nwRf/wcm3gjkZMMZqpNIzhFmzZuHBgwcYP348iAi///472rRpg2+++aZuAuQzhErlFubDcpkPhlrN\nxt4Ppqs7HMaYBlDJXUYuLi6IioqCllZx/3NRURHc3NwQHR1d80irEyAnhEq98d+5uPEgFalbfkOT\nJtzhzxhT0V1GTk5OiI+PF4bj4+Ph5ORU/eiYSuy8cAghKUdw+N3tnAwYY69EaR9CydPI2dnZcHV1\nhbe3N0QiEcLDw/Haa/y+XU2QkJmAmUenI8DgIHp4mag7HMZYPac0ISxatEjpTFV5DmHq1Kk4evQo\nLC0ty32ILTg4GCNGjECbNm0AAP7+/li+fHlVYmYAZEUyDPz+bYgjF+C7Pd3UHQ5jrAFQmhBKnjuo\nqSlTpmDu3LmYOHGi0ml8fX1x+PDhV1pPY7Xi70/wIEYXQfMX498itIwx9kqU9iH06NEDQHH5a7FY\nrPAxNjaudMG9evWCqalphdNwZ3HNhMSGYPO5bXhTazdel/BrsRljtUPpGcK5c+cAADk5OSpZsUgk\nwvnz5+Hh4QEbGxt8/vnncHNzK3fa1atXC/+WSCSvfPZSnz3PfY4xeydA70Qgtpxooe5wGGMaIjg4\nGMHBwa+0jBq9D8He3l7hziNlYmNjMWzYsHL7ELKzs6GtrQ0DAwMEBQVh/vz5iImJKRsg33YqICIM\n+3UELhxpi+1vfg5/f3VHxBjTVCq57bQ8tdFAi8ViGBgYAAAGDRoEqVSKtLS0V15uQ/Z1+NeIuPcY\nPfLXYdQodUfDGGtoqvSCHFVITU2FpaWlcCsrEcHMzExd4Wi8iMcRWH36Y+DnC/g2RBdccJYxVtuU\nJoSNGzcqnakq/Qrjx49HSEgInj17Bjs7O6xZswZSqRQAMGPGDOzfvx/ffvstmjRpAgMDA+zdu7cG\n4TcOOYU5GHdgHMwvb8LCRU6wsVF3RIyxhkhpH8KaNWsqnHHVqlUqCag07kMAJh+cjLvRImgfCURo\nKKDFNxYxxipRq9VOnZ2d0b9/fzRv3vyVA2M198vNX3A29iLSN13B2dOcDBhjqqM0IcTHx2PMmDEo\nLCxE3759MWjQIKF8Basb99PuY8GJBXC78jcCZhrB1VXdETHGGrJKbzvNysrCP//8gxMnTiA8PBwu\nLi4YNGgQBgwYACsrK9UH2EgvGRXKC9F9R3d0pEm4tHkurl0DmjZVd1SMsfpCJeWvS4uMjMTx48dx\n4sQJnDx5slorq4nGmhAWnVyEOyn3EbHkIA7sF6F7d3VHxBirT1TyHEKfPn0Uht3d3XH06NE6SQaN\n1bF7x7Avch/Mzv4I/1GcDBhjdUNpH0JeXh5yc3Px9OlThQfGsrKykJycXCfBNUbJ2cmYemgqljj+\njo1fmCMyUt0RMcYaC6UJYdu2bdi0aROSk5Ph5eUlfC8WizFnzpw6Ca6xkRfJEfBnAN7xnImts3pj\n61agCnUEGWOsVlTah/D1119j7ty5dRVPGY2pD2Fd2DqceHAC3WJO4eH9Jvj9d3VHxBirr2q1U/n0\n6dN44403cODAgXJvNR1VR8V0GktCOJ9wHiN/G4ndPa9iwnBb3LwJWFurOyrGWH1Vqw+mhYSE4I03\n3sBff/2l1oTQGKTnpeOtA2/hu8Hb8eEkW6xfz8mAMVb3alT+ui419DMEIsLofaPRUtwSraM34/Bh\n4PRpcPE6xtgrUcltp5s2bUJWVhaICNOmTUPnzp1x4sSJGgfJFG27ug330+5jdtvPsHYtsH07JwPG\nmHpUmhB27NgBY2NjnDx5Emlpadi1axeWLFlSF7E1eHef3cXy08uxx38v5s/Ww6JFgLOzuqNijDVW\nlSaEklOOo0ePIiAgAO3bt1d5UI2BrEiGSQcnYbVkNa6ddMHjx8D776s7KsZYY1bpC3K8vLzQv39/\nPHz4EOvXr0dWVha0uOTmK/vs3Gcw0jXCmNbvoeNw4PBhQEdH3VExxhqzSjuV5XI5bty4gTZt2sDE\nxATPnz9HYmIiPDw86ibABtipfCPlBvru7our069i+Vx7mJsDX36p7qgYYw1Jrd52WkJbWxsJCQn4\n5ZdfAAASiQTDhg2rWYQMBbICTDw4Ef/t9188um6P4GAgKkrdUTHGWBUSwpIlS3D58mW8/fbbICJs\n3rwZ58+fx/r16+sivgbno9CP0KpZK7zlNgleXsAXXwBGRuqOijHGqnDJqEOHDrh+/Tq0tbUBFF9C\n8vT0xK1bt+omwAZ0yehi4kX47fXD9ZnXsed7awQFASdO8G2mjLHap5JLRiKRCBkZGTA3NwcAZGRk\n8FvTaiBXmotJBydhy+AtoGxrrF0LnDvHyYAxpjkqTQhLly5F586dIZFIABSXtNiwYYOq42pwlp5a\nCq8WXnjT7U1MmAC8+y7Qrp26o2KMsf+pUumK5ORkXLlyBQDg7e0N6zostNMQLhmdeXQGAX8G4Oas\nm7gVboaAAODOHcDQUN2RMcYaKpVcMiIiXLhwAWfPnoVIJIJcLsfIkSNrHGRjk1WQhSmHpmD7sO0Q\nNzHDnDnFHcmcDBhjmqbSM4RZs2bhwYMHGD9+PIgIv//+O9q0aYNvvvmmbgKs52cI7xx+B1oiLWwf\nth1ffgnuSGaM1YlafR9CCRcXF0RFRQlPJxcVFcHNzQ3R0dE1j7Q6AdbjhHA05ijmBM3BzZk3kZMm\nRocOxR3J3HfAGFM1lVQ7dXJyQnx8vDAcHx8PJyen6kfXyDzPfY7pR6Zj54idEDcV44MPuCOZMabZ\nKu1DyMrKgqurK7y9vSESiRAeHo7XXnsNw4YNg0gkwuHDh+siznpn9rHZGOs+Fr4OvggJAUJDizuS\nGWNMU1WaED766COl4/h5hPL9dvs33Ei9gcARgZBKwR3JjLF6oUq3ncbGxuL+/fvo27cvcnNzIZPJ\nYGxsXOE8U6dOxdGjR2Fpaan0qeZ58+YhKCgIBgYG2LlzJzp16lQ2wHrWh5CYlQiv7V74a/xf8Lbx\n5o5kxphaqKQPYfv27Rg9ejRmzJgBAEhMTKzSbadTpkzB8ePHlY4/duwY7t+/j3v37mH79u2YNWtW\nNcLWTLIiGcbtH4cFPgvgbeONx4+BtWuBr7/mZMAY03yVJoStW7fi7NmzwhlB27Zt8eTJk0oX3KtX\nL5iamiodf/jwYUyaNAkA4OPjg4yMDKSmplY1bo204swKGOkaYXHPxQDAHcmMsXql0j6Epk2bomnT\npsKwTCarlb6DpKQk2NnZCcO2trZITEyElZVVmWlXr14t/FsikQhlNDRJ0L0g/HzzZ1ybfg1aIi3u\nSGaM1ang4GAEBwe/0jIqTQi+vr5Yu3YtcnNz8ffff+Obb76ptfchlL6+pSzRvJwQNFFiViKmHJqC\nfaP3wcLQgjuSGWN1rvSP5TVr1lR7GZVeMtqwYQMsLCzQoUMHbNu2DYMHD8Ynn3xS7RWVZmNjg4SE\nBGE4MTERNjY2r7zculbSbzDfZz56teoFANiyBWjRAvD3V3NwjDFWDVV6Y5qfnx/8/PxgaWlZayse\nPnw4tmzZgnHjxuHixYswMTEp93KRpivdb5CQAC5tzRirl5QmBCLCmjVrsGXLFsjlcgDFyWHu3LlY\nuXJlpf0I48ePR0hICJ49ewY7OzusWbMGUqkUADBjxgwMHjwYx44dg5OTEwwNDREYGFiLm1U3Svcb\nFBUBU6cCCxdyRzJjrP5R+hzCF198gaCgIGzfvh2tW7cGADx8+BAzZ87EwIEDsXDhwroJUEOfQ0jM\nSkSX7V2wb/Q+4VLR1q3A7t3A2bNAk0rPvRhjTHVqtbidp6cn/v77b1hYWCh8//TpU/Tr1w/Xr1+v\neaTVCVADE4KsSAbJTgmGOA/B0l5LAQD37gHdunHxOsaYZqjVB9NkMlmZZAAAFhYWkMlk1Y+uASnd\nbyCXA5MnAytWcDJgjNVfSi9s6OjoKJ2ponENXel+AwD4/HNAVxeYO1fNwTHG2CtQeslIW1sbBgYG\n5c6Ul5dXZ2cJmnTJqLx+g1u3gDfeAC5fBhwc1BsfY4yVqNVXaJbcWcSKlfe8QWEhMHEisGEDJwPG\nWP1X6YNprFjpfgMA+OQTwMam+FZTxhir7/jmyErIi+T49NynZfoNLl8Gtm0Drl/nB9AYYw0DJ4QK\nPM5+jIA/A1AoL8T5qedhYVh811VeXvGlos2bi0tUMMZYQ8CXjJQ4fv84Om/vjB72PXB60mnYNftf\nZdYPPwQ6dgTGjlVjgIwxVsv4DKGUQnkhPjz9Ifbe3os9/nsgcZAojA8JAfbuLb67iDHGGhJOCC95\nmP4Q4/aPg6WhJSJmRKC5QXOF8dnZxQ+gbd8OmJurJ0bGGFMVvmT0r99u/wafH3zwVoe38Nf4v8ok\nAwBYtKj4mYOhQ9UQIGOMqVijP0PIleZi/vH5CI4NxvG3j8OrpVe50wUFASdPAjdv1nGAjDFWRxr1\nGcKt1Fvosr0L8mX5uDb9mtJkEBtb/G7kH38E/n21NGOMNTiNLiEUURHC4sIwN2gu3tj1Bpb0XILd\nI3dD3FRcZlqi4mcNunQBPvig+HIRY4w1VPXyklFqTio8t3liptdMLOy2sNzG/GVFVIRz8eewL2of\n9kftR3OD5hjjPgaX370MBxOHcueJiwOmTQMyM4vvLHJ3V8GGMMaYBqmXCSEi+SZ0C61xP+0+nL92\nxrJeyzDDawaaNmkqTKMsCZyZdAbtmiuvUU1UfBfRhx8WdyJ/8AG/7IYx1jjUy6bu1M0oxJ/tDmfp\nVrw//QaWnV6GLy9+iY8kH8HBxKHaSaAEnxUwxhqzepkQrsRHoa1pR+zYAbi6euDoW0cRGheK5aeX\nI7MgE6PdRlc5CQD/OytYvrz4rOD99/msgDHW+NTLZu9+xh30bzcOcxYB/fsDbdoAvb16I3RKaLWX\nVXJWkJUFBAfzWQFjrPGqd3cZERFSiyLRy9UVnToV3wXk5wckJ1dvOUVF/7uDqG9f4Px5TgaMscat\n3p0hPM19CnkRoYeHFQBg1Cjgzh1gxIji6/7lveStqAh48AC4erX4c+UKEBEBuLryWQFjjJVQ+gpN\nTVH6NXBHI4Mx/KvlKPzuLLS1i78jAiZMKH7Z/a+/Kjb+V68C164BzZoBXl7FZwReXkDnzoCFhZo2\nijHGVKxWX6GpqUIi78BU7iokA6D4BTU7dgASCSAWA82bFzf6Xl7A4sXc+DPGWFXUu4RwJT4KrY3c\nynyvp1d8ySgrixt/xkozMzNDenq6usNgKmBqaoq0tLRaWVa9Swj3M6LQv2X55UabNuVkwFh50tPT\nq335gNUPolp8h2+9u8sotegOerUre4bAGGPs1dSrhJCelw6pKBuSzrbqDoUxxhoclSaE48ePw8XF\nBc7Ozvj000/LjA8ODkazZs3QqVMndOrUCZ988kmFy7v44A5Ez11hb197p0iMMcaKqawPQS6XY86c\nOfjnn39gY2OD1157DcOHD4erq6vCdL6+vjh8+HCVlnnmdhTMi9xQi5fMGGOM/UtlZwjh4eFwcnKC\ng4MDdHR0MG7cOBw6dKjMdNXp6LoWfwcORq6VT8gYY6zaVJYQkpKSYGdnJwzb2toiKSlJYRqRSITz\n58/Dw8MDgwcPRlRUVIXLvJcRhY4tuEOZsYYmLS0NI0eOhJGRERwcHLBnzx5h3A8//ABnZ2eIxWIM\nGjQIjx8/Vrqc4OBgaGlpQSwWQywWw87ODmPHjsWVK1dUEvf777+Ptm3bwtjYGK6urti9e7fC+OvX\nr8PLywuGhobo0qULbty4IYy7ffs2BgwYAAsLC2hplW2Kt2zZgi5dukBPTw9TpkxRSfylqeySUVVu\nhercuTMSEhJgYGCAoKAg+Pn5ISYmpsx0q1evBgAkhV2AxaAJtR0qY0zNZs+eDT09PTx58gQREREY\nMmQIPDw88OTJE3z44YcIDg6Gk5MT5s+fj/HjxyM4OFjpsmxsbJCQkACg+Ifp9u3b0atXLxw9ehRv\n1PJrD42MjHDkyBG0bdsW4eHhGDhwIJycnNCtWzcUFhZixIgRWLhwId577z189913GDFiBO7duwcd\nHR3o6upi3LhxmD17Nvz8/MrdjhUrVuDEiRPIy8urNJbg4OAK90uVkIpcuHCBBgwYIAyvW7eONmzY\nUOE8Dg4O9Pz5c4XvSkLMzMsifKhPCYmy2g+WsQZOhX/qrywnJ4d0dXXp3r17wncTJ06kJUuW0Pvv\nv0+zZ88Wvk9OTiaRSEQPHz4sd1lnzpwhW1vbMt/PmTOHunTpIgzfuXOH+vbtS2ZmZtSuXTv6/fff\nhXG5ubm0cOFCatWqFTVr1ox69uxJeXl5VdqW4cOH0xdffEFERCdOnCAbGxuF8fb29nT8+HGF7+7d\nu0cikUjpMpcvX06TJ09WOl7Zsa3JMVfZJaMuXbrg3r17iI2NRWFhIX777TcMHz5cYZrU1FShDyE8\nPBxEBDMzs3KXFxZ9B9rpLrBpqV3ueMZY/RQTE4MmTZrAyclJ+M7DwwORkZEAFPsZi4qKABRfbqmO\nkSNH4tq1a8jLy8OLFy/Qr18/TJgwAU+fPsXevXvx3nvv4c6dOwCKLwNFRETgwoULSEtLw3//+99y\nL+mUlpeXh8uXL8P932qZkZGR6Nixo8I0L29XVVEdPlCosoTQpEkTbNmyBQMGDICbmxvGjh0LV1dX\nbNu2Ddu2bQMA7N+/Hx06dICnpycWLFiAvXv3Kl3eqVuRaE7ufIcRYyogEtXOpyZycnJgbGys8J1Y\nLEZ2djYGDhyIffv24datW8jLy8NHH30EkUiE3Nzcaq2jZcuWICJkZGTgyJEjaN26NSZNmgQtLS14\nenpi1KhR2LdvH4qKihAYGIhNmzahRYsW0NLSQteuXaGrq1vpOmbOnAlPT0/0799f2K5mzZopTGNs\nbIzs7OxqxV6bTyJXRqWlKwYNGoRBgwYpfDdjxgzh37Nnz8bs2bOrtKyr8ZFwMuYOZcZUQZ1VLYyM\njJCVlaXwXWZmJoyNjdGnTx+sXr0a/v7+yMrKwoIFCyAWi2Fra4v4+Hjh17hIJCqzjJclJSVBJBLB\nxMQEcXFxuHTpEkxNTYXxMpkMEydOxPPnz5Gfnw9HR8cyy5g5cyZ++eUXAMCHH36IJUuWCOM++OAD\nREVF4cyZM8J3YrFY6XZVR4M4Q6ht9zOj0NmOX1zAWEPTtm1byGQy3L9/X/juxo0bQmP/3nvvISYm\nBikpKRg1ahRkMhnat28Pe3t7ZGdnIzs7u8JkAAB//vknvLy8oK+vD3t7e/j6+iI9PV34ZGdnY+vW\nrTA3N4eenp5CLCW+++47YX0vJ4NVq1bhxIkTOHnyJIyMjITv3d3dcfPmTYVl3Lx5U9iuqqrLM4R6\nkxCeiiLxRntOCIw1NIaGhhg1ahRWrlyJ3NxcnD17Fn/99RcCAgJQUFCA27dvg4gQHx+P6dOnY8GC\nBWUuxZSHiJCUlIQ1a9Zgx44dWLduHQBg6NChiImJwc8//wypVAqpVIrLly8jOjoaWlpamDp1KhYu\nXIjHjx9DLpfjwoULKCwsLHcd69evx549e/D3338rnHEAgEQigba2NjZv3oyCggJs3rwZWlpaCnc6\n5efnC8suKChAQUGBME4ulyM/Px8ymQxyuRwFBQWQy+XV3r/VUu1u6DoGgJ5nZxGWGVBWNt9hxFhN\naPqfelpaGvn5+ZGhoSG1atWK9uzZQ0RE6enp1LFjRzI0NCRra2tatmwZFRUVKV1OcHAwaWlpkZGR\nERkaGlLLli1p9OjRdOnSJYXp7t69S0OGDCELCwsyNzenPn360I0bN4iIKC8vjxYsWEA2NjbUrFkz\n8vX1VXqXkUgkIj09PTIyMhI+69evF8ZHRESQl5cX6evrk5eXF12/fl0Y9+jRIxKJRCQSiUhLS4tE\nIhG1bt1aGL9q1SphfMlnzZo1ZWJQdmxrcszrxRvTfg25hCkHZiJ/0zV1h8NYvVSTt2ex+kHZsa3J\nMa8Xl4yCIyNhpcWXixhjTJXqRUKISIpEO1NOCIwxpkr1IiHEvojCaw58yyljjKlSvehD+PnUVfR0\nb4NWVibqDoexeon7EBqu2uxDqBcJQcNDZEzj8d9Rw9XoOpUZY4ypHicExhhjADghMMYY+xcnBMYY\nYwA4ITDG1KywsBDTpk2Dg4MDjI2N0alTJxw/flwYf+rUKbi4uMDQ0BBvvPEG4uPjlS6LX6H5ajgh\nMMbUSiaTwd7eHqGhocjKysInn3yCMWPGID4+Hs+ePcOoUaOwdu1apKeno0uXLhg7dmyFy7OxsRGq\nkiMw7LAAAAv1SURBVF68eBEuLi7o1asXTp8+Xeuxl7xCMysrCz/99BPmz5+PCxcuAIDwCs2JEyci\nIyMDkyZNwogRIyCVSgFAeIXmjh07lG7HihUrMHXq1FqPW6lqVz+qY/UgRMY0Xn37O+rYsSMdOHCA\ntm3bRj169BC+f/HiBenr69Pdu3fLnY9foVn59xXhMwTGmEZJTU1FTEwM2rdvj8jISHh4eAjjDAwM\n4OTkxK/QVBGVvjGNMVY/iNbUzktYaNWrNV5SqRRvv/02Jk+ejLZt2+LFixewsLBQmMbY2Bg5OTnV\nWu7Lr9AMDQ0VXqEJQOEVmsuXL0dgYCAuXbqEFi1aAAC6du1apXXwKzQZYw3CqzbktaGoqAgBAQHQ\n09PDli1bACh/vaZYLEZCQgLc3IprnPErNGsHXzJijKkdEWHatGl4+vQpDhw4AG1tbQDFr6F8+c6c\nFy9e4MGDB3B3d4ednR2/QrOWcUJgjKndrFmzEB0djcOHD6Np06bC9yNHjsTt27fxxx9/ID8/H2vW\nrIGnpyfatm1b6TKJX6FZfdXuhq5j9SBExjSeJv8dxcbGkkgkIn19fYVXUf76669ERPTPP/+Qi4sL\n6evr0+uvv05xcXFKl8Wv0Kz8+4pwtVPGGgH+O2q4uNopY4yxWscJgTHGGABOCIwxxv7FzyEw1giY\nmprW6e2LrO6UvrvpVXCnMmOMNUDcqVwPBQcHqzsElWnI2wbw9tV3DX37akKlCeH48eNwcXGBs7Mz\nPv3003KnmTdvHpydneHh4YGIiAhVhqORGvJ/yoa8bQBvX33X0LevJlSWEORyOebMmYPjx48jKioK\ne/bsEaoJljh27Bju37+Pe/fuYfv27Zg1a5aqwmGMMVYJlSWE8PBwODk5wcHBATo6Ohg3bhwOHTqk\nMM3hw4eFioM+Pj7IyMhAamqqqkJijDFWkWo/21xF+/bto3feeUcY3r17N82ZM0dhmqFDh9K5c+eE\n4T59+tCVK1cUpgHAH/7whz/8qcGnulR222lVb3GjUr3gpecrPZ4xxphqqOySkY2NDRISEoThhIQE\n2NraVjhNYmIibGxsVBUSY4yxCqgsIXTp0gX37t1DbGwsCgsL8dtvv2H48OEK0wwfPhy7du0CAFy8\neBEmJiawsrJSVUiMMcYqoLJLRk2aNMGWLVswYMAAyOVyTJs2Da6urti2bRsAYMaMGRg8eDCOHTsG\nJycnGBoaIjAwUFXhMMYYq0y1ex3qUFBQELVr146cnJxow4YN6g6n1rVq1Yo6dOhAnp6e9Nprr6k7\nnFcyZcoUsrS0pPbt2wvfPX/+nPr27UvOzs7Ur18/Sk9PV2OEr6a87Vu1ahXZ2NiQp6cneXp6UlBQ\nkBojfDXx8fEkkUjIzc2N3N3dadOmTUTUcI6hsu1rCMcwLy+PvL29ycPDg1xdXWnJkiVEVLNjp7EJ\nQSaTkaOjIz169IgKCwvJw8ODoqKi1B1WrXJwcKDnz5+rO4xaERoaSteuXVNoMD/44AP69NNPiYho\nw4YNtHjxYnWF98rK277Vq1fTxo0b1RhV7Xn8+DFFREQQEVF2dja1bduWoqKiGswxVLZ9DeUYvnjx\ngoiIpFIp+fj4UFhYWI2OncaWrqjKcwwNATWQu6h69epVpsjWy8+ZTJo0CQcPHlRHaLWivO0DGs7x\ns7a2hqenJ4DiF9u7uroiKSmpwRxDZdsHNIxjaGBgAAAoLCyEXC6HqalpjY6dxiaEpKQk2NnZCcO2\ntrbCAWwoRCIR+vbtiy5duuD7779Xdzi1LjU1VbhJwMrKqkE+dPj111/Dw8MD06ZNQ0ZGhrrDqRWx\nsbGIiIiAj49PgzyGJdvXtWtXAA3jGBYVFcHT0xNWVlZ4/fXX4e7uXqNjp7EJoTGU6j137hwiIiIQ\nFBSErVu3IiwsTN0hqYxIJGpwx3TWrFl49OgRrl+/jhYtWmDRokXqDumV5eTkwN/fH5s2bYJYLFYY\n1xCOYU5ODt58801s2rQJRkZGDeYYamlp4fr160hMTERoaCjOnDmjML6qx05jE0JVnmOo71q0aAEA\nsLCwwMiRIxEeHq7miGqXlZUVUlJSAACPHz+GpaWlmiOqXZaWlsIf2jvvvFPvj59UKoW/vz8CAgLg\n5+cHoGEdw5LtmzBhgrB9De0YNmvWDEOGDMHVq1drdOw0NiFU5TmG+iw3NxfZ2dkAgBcvXuDkyZPo\n0KGDmqOqXcP/v737C2mqjeMA/t2yq0oaIaUNpgRac8fTEfIiQYiFF65moFAh/g26MJMultlFsauI\nqLusK23SxagEoXRdLMiom7zQMuoi/DPrYmVac1BKbP3eC9153zVLJ2q59/u52nm25zzPOQ/jt+ec\nPb/jdKKzsxMA0NnZqX8JU0UwGNRfd3d3r+vxExGcOHECVqsVZ86c0ctTZQx/dXypMIaTk5P6pa6Z\nmRn4/X5omra8sVutu94rwefzSW5uruzatUsuXbr0p7uzokZHR0VVVVFVVfLz89f98R07dkwyMzNl\n48aNYjabpaOjQ6ampsRut6/7vyyKJB5fe3u7VFdXi6IoUlBQIOXl5fLhw4c/3c1le/r0qRgMBlFV\nNe4vmKkyhgsdn8/nS4kxHBoaEk3TRFVVURRFrly5IiKyrLH765+YRkREa+OvvWRERERriwGBiIgA\nMCAQEdE8BgQiIgLAgEApwmg0orq6Wt+ORCLIyMjA4cOHf1vv5cuXePjw4bLadDgcCIfDmJ6exs2b\nN5OuPzExAYfDgU+fPiEnJyduJempU6dw+fLlhDofP35EWVnZsvpLtBgGBEoJmzZtwuvXrzE7OwsA\n8Pv9MJvNi67OHBwchM/nS6otmUsKid7eXqSnp+PLly+4ceNG0n2+fv066urqkJGRgdbWVrhcLgDA\nwMAAnj17hrNnz8Z9PhqNYvv27TCZTBgYGEi6PaLFMCBQyigrK0Nvby8AwOv14vjx43risv7+fuzf\nvx+FhYUoLi7G27dv8f37d1y8eBF37tyBpmm4e/cu3G43rl27pu/TZrPh3bt3CAQCyMvLQ21tLRRF\nwfv375GdnY2pqSm0trZiZGQEmqahpaUFtbW1cYkYq6qqcP/+/YT+dnV1weFwAABOnjyJkZERPH78\nGE1NTWhra8OGDRvg8XjgdDpht9tx8OBBAHOLxbxe76qdR/ofW8X1EkRrZvPmzTI0NCSVlZUyOzsr\ne/fulb6+Pjl06JCIiITDYYlEIiIi4vf7paKiQkREPB6PnD59Wt+P2+2Wq1ev6ts2m03Gx8dlbGxM\njEajPH/+XH8vlr48EAjEpcV+8uSJHDlyREREQqGQ5OTkSDQajetvMBiMqyMi8uLFCzGZTFJfX6+X\n3bp1S8xmc9yiotHRUSkqKlreiSL6jVV7YhrRWlMUBYFAAF6vV//lHRMKhVBTU4Ph4WEYDAZEIhEA\n/17+WQqLxYKioqKE8p/rl5SUoLGxEZOTk+jq6kJlZSWMxvjJ+Pj4uJ7LKkZVVSiKgsbGRr3MYDCg\ntLQUW7du1csyMzMRCASW1GeiZPCSEaUUp9MJl8sVd7kIAC5cuAC73Y5Xr17hwYMHmJmZWbB+Wloa\nfvz4oW/H7kkAc/cplqqmpga3b9+Gx+NBQ0PDgp9ZKBAZjcaE4BHLdf/feus96yj9nThDoJTS0NAA\nk8mE/Px89PX16eXhcBhZWVkAEPfs7vT0dD3JIABkZ2ejp6cHwNzN3bGxsUXb3LJlS9w+AKCurg77\n9u1DVlYWdu/enVDHYrHomSh/Z6GgEQwGYbFYFq1LlCzOECglxH4x79y5E01NTXpZrLylpQXnz59H\nYWEhotGoXn7gwAG8efMGmqbh3r17qKiowOfPn2Gz2dDW1oa8vLyENn7e3rZtG4qLi6EoCs6dOwdg\nLq2y1WpFfX39gv3dsWMHIpEIvn79uuhx/dxuf38/SkpKlnReiJLB5HZEq+Dbt28oKCjA4OBgwoNm\nYtxuN/bs2YOjR48mte+qqiq4XC5omrYSXSXScYZAtMIePXoEq9WK5ubmXwYDYG7xWSxf/VJNTEwg\nFAoxGNCq4AyBiIgAcIZARETzGBCIiAgAAwIREc1jQCAiIgAMCERENI8BgYiIAAD/AC6oQlN+H271\nAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x35f0650>"
       ]
      }
     ],
     "prompt_number": 4
    }
   ],
   "metadata": {}
  }
 ]
}
